<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>HexFiend: HFRepresenter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">HexFiend
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Instance Methods</a> &#124;
<a href="interface_h_f_representer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">HFRepresenter Class Reference<div class="ingroups"><a class="el" href="group__view.html">View</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>The principal view class of Hex Fiend's MVC architecture.  
 <a href="interface_h_f_representer.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for HFRepresenter:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interface_h_f_representer.png" usemap="#HFRepresenter_map" alt=""/>
  <map id="HFRepresenter_map" name="HFRepresenter_map">
<area href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC..." alt="HFLayoutRepresenter" shape="rect" coords="0,112,207,136"/>
<area href="interface_h_f_line_counting_representer.html" title="The HFRepresenter used to show the &quot;line number gutter.&quot;. " alt="HFLineCountingRepresenter" shape="rect" coords="217,112,424,136"/>
<area href="interface_h_f_status_bar_representer.html" title="The HFRepresenter for the status bar. " alt="HFStatusBarRepresenter" shape="rect" coords="434,112,641,136"/>
<area href="interface_h_f_text_representer.html" title="An HFRepresenter that draws text (e.g. the hex or ASCII view). " alt="HFTextRepresenter" shape="rect" coords="651,112,858,136"/>
<area href="interface_h_f_vertical_scroller_representer.html" title="An HFRepresenter responsible for showing a vertical scroll bar. " alt="HFVerticalScrollerRepresenter" shape="rect" coords="868,112,1075,136"/>
<area href="interface_h_f_hex_text_representer.html" title="HFHexTextRepresenter is an HFRepresenter responsible for showing data in hexadecimal form..." alt="HFHexTextRepresenter" shape="rect" coords="542,168,749,192"/>
<area href="interface_h_f_string_encoding_text_representer.html" title="An HFRepresenter responsible for showing data interpreted via an NSStringEncoding. " alt="HFStringEncodingTextRepresenter" shape="rect" coords="759,168,966,192"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Instance Methods</h2></td></tr>
<tr class="memitem:a5393437fbe020d3079a979a7383eb67b"><td class="memItemLeft" align="right" valign="top">(NSUInteger)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a5393437fbe020d3079a979a7383eb67b">byteGranularity</a></td></tr>
<tr class="separator:a5393437fbe020d3079a979a7383eb67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">View management</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods related to accessing and initializing the representer's view. </p>
</div></td></tr>
<tr class="memitem:a9738e9e916b36b17e37b178234ee79fe"><td class="memItemLeft" align="right" valign="top">(id)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a9738e9e916b36b17e37b178234ee79fe">view</a></td></tr>
<tr class="separator:a9738e9e916b36b17e37b178234ee79fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04bfc131d81d7123c4fcdcc5327f94dd"><td class="memItemLeft" align="right" valign="top">(BOOL)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a04bfc131d81d7123c4fcdcc5327f94dd">isViewLoaded</a></td></tr>
<tr class="separator:a04bfc131d81d7123c4fcdcc5327f94dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e5e22b482218a8c38c384502ee1709"><td class="memItemLeft" align="right" valign="top">(NSView *)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a39e5e22b482218a8c38c384502ee1709">NS_RETURNS_RETAINED</a></td></tr>
<tr class="separator:a39e5e22b482218a8c38c384502ee1709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786eb3e2db08cd99bd04aa737bf6073d"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a786eb3e2db08cd99bd04aa737bf6073d">initializeView</a></td></tr>
<tr class="separator:a786eb3e2db08cd99bd04aa737bf6073d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessing the HFController</div></td></tr>
<tr class="memitem:ac2c63f016e14f6de4bcb9312ceca4998"><td class="memItemLeft" align="right" valign="top">(<a class="el" href="interface_h_f_controller.html">HFController</a> *)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#ac2c63f016e14f6de4bcb9312ceca4998">controller</a></td></tr>
<tr class="separator:ac2c63f016e14f6de4bcb9312ceca4998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Property change notifications</div></td></tr>
<tr class="memitem:a23c079ab89921b0b54b3072a1c494107"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a23c079ab89921b0b54b3072a1c494107">controllerDidChange:</a></td></tr>
<tr class="separator:a23c079ab89921b0b54b3072a1c494107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">HFController convenience methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Convenience covers for certain <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a> methods </p>
</div></td></tr>
<tr class="memitem:a821a42b782b48dd2dda877807f0eff54"><td class="memItemLeft" align="right" valign="top">(NSUInteger)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a821a42b782b48dd2dda877807f0eff54">bytesPerLine</a></td></tr>
<tr class="separator:a821a42b782b48dd2dda877807f0eff54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f756afd4c3b7c44f710fa7374c582d"><td class="memItemLeft" align="right" valign="top">(NSUInteger)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#ae4f756afd4c3b7c44f710fa7374c582d">bytesPerColumn</a></td></tr>
<tr class="separator:ae4f756afd4c3b7c44f710fa7374c582d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a009d8e81dc63b3484e502e99a5b2874a"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a009d8e81dc63b3484e502e99a5b2874a">representerChangedProperties:</a></td></tr>
<tr class="separator:a009d8e81dc63b3484e502e99a5b2874a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Measurement</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods related to measuring the <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a>, so that it can be laid out properly by an HFLayoutController. All of these methods are candidates for overriding. </p>
</div></td></tr>
<tr class="memitem:a7b93407c240a3f821f810d1f33faf0ac"><td class="memItemLeft" align="right" valign="top">(NSUInteger)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a7b93407c240a3f821f810d1f33faf0ac">maximumBytesPerLineForViewWidth:</a></td></tr>
<tr class="separator:a7b93407c240a3f821f810d1f33faf0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf56b3dfdb9c607c6871d2ef9abe5a91"><td class="memItemLeft" align="right" valign="top">(CGFloat)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#acf56b3dfdb9c607c6871d2ef9abe5a91">minimumViewWidthForBytesPerLine:</a></td></tr>
<tr class="separator:acf56b3dfdb9c607c6871d2ef9abe5a91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b6f9c8eda1d96dcc31bb850fb9048fd"><td class="memItemLeft" align="right" valign="top">(double)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_h_f_representer.html#a2b6f9c8eda1d96dcc31bb850fb9048fd">maximumAvailableLinesForViewHeight:</a></td></tr>
<tr class="separator:a2b6f9c8eda1d96dcc31bb850fb9048fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Auto-layout methods</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpb9b6a7656c47bd1b37760b0214b7f0d8"></a>Methods for simple auto-layout by <a class="el" href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC...">HFLayoutRepresenter</a>. See the <a class="el" href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC...">HFLayoutRepresenter</a> class for discussion of how it lays out representer views. </p>
</td></tr>
<tr class="memitem:a05cf33df8751ca00d2b08ac2cbe62067"><td class="memItemLeft" align="right" valign="top">NSPoint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_h_f_representer.html#a05cf33df8751ca00d2b08ac2cbe62067">layoutPosition</a></td></tr>
<tr class="memdesc:a05cf33df8751ca00d2b08ac2cbe62067"><td class="mdescLeft">&#160;</td><td class="mdescRight">The layout position for the receiver.  <a href="#a05cf33df8751ca00d2b08ac2cbe62067">More...</a><br /></td></tr>
<tr class="separator:a05cf33df8751ca00d2b08ac2cbe62067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a242a7e6f74430c85bcaf9b3fe01e8fbf"><td class="memItemLeft" align="right" valign="top">(NSPoint)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_h_f_representer.html#a242a7e6f74430c85bcaf9b3fe01e8fbf">defaultLayoutPosition</a></td></tr>
<tr class="separator:a242a7e6f74430c85bcaf9b3fe01e8fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> is a class that visually represents some property of the <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a>, such as the data (in various formats), the scroll position, the line number, etc. An <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> is added to an <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a> and then gets notified of changes to various properties, through the controllerDidChange: methods.</p>
<p>HFRepresenters also have a view, accessible through the -view method. The <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> is expected to update its view to reflect the relevant properties of its <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a>. If the user can interact with the view, then the <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> should pass any changes down to the <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a>, which will subsequently notify all HFRepresenters of the change.</p>
<p><a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> is an abstract class, with a different subclass for each possible view type. Because <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a> interacts with HFRepresenters, rather than views directly, an <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> can use standard Cocoa views and controls.</p>
<p>To add a new view type:</p>
<ol type="1">
<li>Create a subclass of <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a></li>
<li>Override <code>-createView</code> to return a view (note that this method should transfer ownership)</li>
<li>Override <code>-controllerDidChange</code>:, checking the bitmask to see what properties have changed and updating your view as appropriate</li>
<li>If you plan on using this view together with other views, override <code>+defaultLayoutPosition</code> to control how your view gets positioned in an <a class="el" href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC...">HFLayoutRepresenter</a></li>
<li>If your view's width depends on the properties of the controller, override some of the measurement methods, such as <code>+maximumBytesPerLineForViewWidth</code>:, so that your view gets sized correctly </li>
</ol>
</div><h2 class="groupheader">Method Documentation</h2>
<a id="a9738e9e916b36b17e37b178234ee79fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9738e9e916b36b17e37b178234ee79fe">&sect;&nbsp;</a></span>view()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (id) view </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the view for the receiver, creating it if necessary. The view for the <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> is initially nil. When the <code>-view</code> method is called, if the view is nil, <code>-createView</code> is called and then the result is stored. This method should not be overridden; however you may want to call it to access the view. </p>

</div>
</div>
<a id="a04bfc131d81d7123c4fcdcc5327f94dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04bfc131d81d7123c4fcdcc5327f94dd">&sect;&nbsp;</a></span>isViewLoaded()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) isViewLoaded </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns YES if the view has been created, NO if it has not. To create the view, call the view method. </p>

</div>
</div>
<a id="a39e5e22b482218a8c38c384502ee1709"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39e5e22b482218a8c38c384502ee1709">&sect;&nbsp;</a></span>NS_RETURNS_RETAINED()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSView *) NS_RETURNS_RETAINED </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Override point for creating the view displaying this representation. This is called on your behalf the first time the <code>-view</code> method is called, so you would not want to call this explicitly; however this method must be overridden. This follows the "create" rule, and so it should return a retained view. </p>

</div>
</div>
<a id="a786eb3e2db08cd99bd04aa737bf6073d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a786eb3e2db08cd99bd04aa737bf6073d">&sect;&nbsp;</a></span>initializeView()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) initializeView </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Override point for initialization of view, after the <a class="el" href="interface_h_f_representer.html" title="The principal view class of Hex Fiend&#39;s MVC architecture. ">HFRepresenter</a> has the view set as its -view property. The default implementation does nothing. </p>

</div>
</div>
<a id="ac2c63f016e14f6de4bcb9312ceca4998"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2c63f016e14f6de4bcb9312ceca4998">&sect;&nbsp;</a></span>controller()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (<a class="el" href="interface_h_f_controller.html">HFController</a> *) controller </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the <a class="el" href="interface_h_f_controller.html" title="A central class that acts as the controller layer for HexFiend.framework. ">HFController</a> for the receiver. This is set by the controller from the call to <code>addRepresenter:</code>. A representer can only be in one controller at a time. </p>

</div>
</div>
<a id="a23c079ab89921b0b54b3072a1c494107"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23c079ab89921b0b54b3072a1c494107">&sect;&nbsp;</a></span>controllerDidChange:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) controllerDidChange: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="_h_f_controller_8h.html#adfb5b0d9c70a4b65379361b34ba1aea5">HFControllerPropertyBits</a>)&#160;</td>
          <td class="paramname"><em>bits</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Indicates that the properties indicated by the given bits did change, and the view should be updated as to reflect the appropriate properties. This is the main mechanism by which representers are notified of changes to the controller. </p>

</div>
</div>
<a id="a821a42b782b48dd2dda877807f0eff54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a821a42b782b48dd2dda877807f0eff54">&sect;&nbsp;</a></span>bytesPerLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSUInteger) bytesPerLine </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Equivalent to <code>[[self controller] bytesPerLine]</code> </p>

</div>
</div>
<a id="ae4f756afd4c3b7c44f710fa7374c582d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f756afd4c3b7c44f710fa7374c582d">&sect;&nbsp;</a></span>bytesPerColumn()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSUInteger) bytesPerColumn </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Equivalent to <code>[[self controller] bytesPerColumn]</code> </p>

</div>
</div>
<a id="a009d8e81dc63b3484e502e99a5b2874a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a009d8e81dc63b3484e502e99a5b2874a">&sect;&nbsp;</a></span>representerChangedProperties:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) representerChangedProperties: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="_h_f_controller_8h.html#adfb5b0d9c70a4b65379361b34ba1aea5">HFControllerPropertyBits</a>)&#160;</td>
          <td class="paramname"><em>properties</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Equivalent to <code>[[self controller] representer:self changedProperties:properties]</code> . You may call this when some internal aspect of the receiver's view (such as its frame) has changed in a way that may globally change some property of the controller, and the controller should recalculate those properties. For example, the text representers call this with HFControllerDisplayedLineRange when the view grows vertically, because more data may be displayed. </p>

</div>
</div>
<a id="a7b93407c240a3f821f810d1f33faf0ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b93407c240a3f821f810d1f33faf0ac">&sect;&nbsp;</a></span>maximumBytesPerLineForViewWidth:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSUInteger) maximumBytesPerLineForViewWidth: </td>
          <td></td>
          <td class="paramtype">(CGFloat)&#160;</td>
          <td class="paramname"><em>viewWidth</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the maximum number of bytes per line for the given view size. The default value is NSUIntegerMax, which means that the representer can display any number of lines for the given view size. </p>

</div>
</div>
<a id="acf56b3dfdb9c607c6871d2ef9abe5a91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf56b3dfdb9c607c6871d2ef9abe5a91">&sect;&nbsp;</a></span>minimumViewWidthForBytesPerLine:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (CGFloat) minimumViewWidthForBytesPerLine: </td>
          <td></td>
          <td class="paramtype">(NSUInteger)&#160;</td>
          <td class="paramname"><em>bytesPerLine</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the minimum view frame size for the given bytes per line. Default is to return 0, which means that the representer can display the given bytes per line in any view size. Fixed width views should return their fixed width. </p>

<p>Reimplemented in <a class="el" href="interface_h_f_layout_representer.html#ab3434437784555fdbe449665334e5f2b">HFLayoutRepresenter</a>.</p>

</div>
</div>
<a id="a2b6f9c8eda1d96dcc31bb850fb9048fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b6f9c8eda1d96dcc31bb850fb9048fd">&sect;&nbsp;</a></span>maximumAvailableLinesForViewHeight:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (double) maximumAvailableLinesForViewHeight: </td>
          <td></td>
          <td class="paramtype">(CGFloat)&#160;</td>
          <td class="paramname"><em>viewHeight</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the maximum number of lines that could be displayed at once for a given view height. Default is to return DBL_MAX. </p>

</div>
</div>
<a id="a5393437fbe020d3079a979a7383eb67b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5393437fbe020d3079a979a7383eb67b">&sect;&nbsp;</a></span>byteGranularity()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSUInteger) byteGranularity </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the required byte granularity. <a class="el" href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC...">HFLayoutRepresenter</a> will constrain the bytes per line to a multiple of the granularity, e.g. so that UTF-16 characters are not split across lines. If different representers have different granularities, then it will constrain it to a multiple of all granularities, which may be very large. The default implementation returns 1. </p>

</div>
</div>
<a id="a242a7e6f74430c85bcaf9b3fe01e8fbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a242a7e6f74430c85bcaf9b3fe01e8fbf">&sect;&nbsp;</a></span>defaultLayoutPosition()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">+ (NSPoint) defaultLayoutPosition </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the default layout position for representers of this class. Within the -init method, the view's layout position is set to the default for this class. You may override this to control the default layout position. See <a class="el" href="interface_h_f_layout_representer.html" title="An HFRepresenter responsible for arranging the views of other HFRepresenters attached to the same HFC...">HFLayoutRepresenter</a> for a discussion of the significance of the layout postition. </p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a05cf33df8751ca00d2b08ac2cbe62067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05cf33df8751ca00d2b08ac2cbe62067">&sect;&nbsp;</a></span>layoutPosition</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSPoint) layoutPosition</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_h_f_representer_8h_source.html">HFRepresenter.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>
